package com.example.ai.service;


import com.example.ai.entity.User;

import java.util.List;

/**
 * 用户服务接口
 * 定义用户信息管理的核心业务操作规范
 *
 * @author czwa
 */
public interface userService {
    /**
     * 分页条件查询用户列表
     *
     * @param user 包含查询条件和分页参数的用户对象
     * @return 符合条件的用户列表
     */
    List<User> getAllUsers(User user);

    /**
     * 新增用户信息
     *
     * @param user 待新增的用户实体对象
     */
    void add(User user);

    /**
     * 根据ID查询用户详情
     *
     * @param id 用户唯一标识ID
     * @return 用户实体对象，不存在时返回null
     */
    User getById(int id);

    /**
     * 更新用户信息
     *
     * @param user 包含更新字段的用户实体对象（需携带ID）
     */
    void update(User user);

    /**
     * 逻辑删除用户（禁用账户）
     * 将用户状态标记为"禁用"（状态值0）
     *
     * @param id 用户ID
     */
    void delete(int id);

    /**
     * 恢复用户账户（启用账户）
     * 将用户状态标记为"启用"（状态值1）
     *
     * @param id 用户ID
     */
    void recover(int id);
}